Iterative algorithms may employ cost functions to support a variety of functionality. The cost function, for instance, may be utilized to perform sound processing, image processing, and so on. For example, a cost of an iterative algorithm may be optimized to perform sound decomposition for audio data, such as to perform sound removal, source separation, and so forth.
Conventional techniques that were utilized to employ these iterative algorithms typically employed a predefined number of iterations that were predefined by a user, e.g., one hundred iterations. The predefined number was often set by a user based on an assumption of “more is better” and thus relied on a perceived balance between accuracy (e.g., obtained through a higher number of iterations) and computing device resource consumption, e.g., an amount of time used by the computing device to perform the iterations.
However, a cost computed by the cost function may not have a monotonic relationship to a desired result, and thus the “more is better” assumption may be in error and thus result in performance of additional iterations that may introduce error into a desired result and may also result in needless consumption of computing device resources.